package com.shrct.businessprocess.purchase;

import com.shrct.businessprocess.product.RCProductSpecification;
import com.shrct.businessprocess.purchase.RCProductPurchaseRequest;
import com.shrct.businessprocess.purchase.impl.RCProductPurchaseRequestItemImpl;
import com.shrct.businessprocess.purchase.proxy.RCProductPurchaseRequestItemProxy;
import edu.fudan.mylang.pf.EntityImplementation;
import edu.fudan.mylang.pf.IModelObject;

@EntityImplementation(implementBy = RCProductPurchaseRequestItemImpl.class)
public interface RCProductPurchaseRequestItem extends IModelObject {
  public abstract RCProductPurchaseRequest getPurchaseRequest();
  
  public abstract RCProductPurchaseRequestItem setPurchaseRequest(final RCProductPurchaseRequest purchaseRequest);
  
  public abstract RCProductSpecification getProductSpec();
  
  public abstract RCProductPurchaseRequestItem setProductSpec(final RCProductSpecification productSpec);
  
  public abstract Integer getQuantity();
  
  public abstract RCProductPurchaseRequestItem setQuantity(final Integer quantity);
  
  public abstract Integer getPassedOrderedQuantity();
  
  public abstract Integer getOrderedQuantity();
  
  public abstract RCProductPurchaseRequestItemProxy toProxy();
}
